An approach to feature-based software construction for enhancing maintainability

نویسندگان

  • Jungyoon Kim
  • Doo-Hwan Bae
چکیده

While the way we build software affects significantly its maintenance in terms of the effort and cost, the experience level of the maintainer in a software acquirers’ organization is also one of concern. In this context, often the maintainer is the user of the system. Unfortunately, it is quite possible to lose the trustworthiness of the software due to the inexperience of the maintainer, especially when the maintainer is without the help of the original developers. One remedy for providing security against the effects of the maintainer’s software modifications is to restrict the access to software parts (modules) relative to the experience level of the maintainers. For such a remedy to be successful, the software should be constructed in such a way that its parts under maintenance affect others as little as possible. We propose an approach to software construction aligning the dependencies among software parts in one direction so that they are allocated to maintainers based on their experience level. Our approach decomposes the software into parts based on functionality and orders the parts by essentiality, which indicates how difficult it is to change each part. Then, we align the dependencies in such a way that the less essential functionality is dependent on the more essential functionality. Consequently, any modification on less essential functionality does not affect the essential functionalities. To demonstrate the feasibility of our proposed approach, we applied it to a military application and found that the constructed software enables us to confine maintainers’ activity within a limited working area, and thus the software is safer against maintainers’ modification. Copyright c © 2006 John Wiley & Sons, Ltd.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Quantitative Evaluation of Maintainability of Software Architecture Styles

Proper decisions play a crucial role in any software architecture design process. An important decision of design stage is the selection of a suitable software architecture style. Lack of investigation on the quantitative impact of architecture styles on software quality attributes is the main problem in using such styles. Consequently, the use of architecture styles in designing is based on th...

متن کامل

Improvement of effort estimation accuracy in software projects using a feature selection approach

In recent years, utilization of feature selection techniques has become an essential requirement for processing and model construction in different scientific areas. In the field of software project effort estimation, the need to apply dimensionality reduction and feature selection methods has become an inevitable demand. The high volumes of data, costs, and time necessary for gathering data , ...

متن کامل

Maintainability measure based on operating environment, a case study: Sungun copper mine

The life cycle cost of a system is influenced by its maintainability. Maintainability is a design parameter, whose operational conditions can affect it significantly. Hence, the effects of these operational conditions should be quantified early in the design phase. The proportional repair model (PRM), which is developed based on the proportional hazard model (PHM), can be used to analyze mainta...

متن کامل

An Algebra for Semantic Construction in Constraint-based Grammars

We develop a framework for formalizing semantic construction within grammars expressed in typed feature structure logics, including HPSG. The approach provides an alternative to the lambda calculus; it maintains much of the desirable flexibility of unificationbased approaches to composition, while constraining the allowable operations in order to capture basic generalizations and improve mainta...

متن کامل

The Hyper/UML Approach for Feature Based Software Design

The market requests complex but adaptable software systems. There are different concepts to meet this demand, for example software reusability, component-based development, agile processes, generative programming and domain analysis. For similar products within a domain product lines are a very promising approach for shortening development time and cost and for improving quality. Software produ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Softw., Pract. Exper.

دوره 36  شماره 

صفحات  -

تاریخ انتشار 2006